<template>
  <div class="talk">
    <button @click="getLoveTalk">获取一句土味情话</button>
    <ul>
      <li v-for="talk in talkList" :key="talk.id">
        {{ talk.title }}
      </li>
    </ul>
  </div>
</template>

<script setup name = "LoveTalk" lang="ts">
import {reactive} from 'vue'
import axios from 'axios' // 是默认暴露的
import  {nanoid} from 'nanoid'
//------------------数据-------------------
let talkList = reactive([
  {id: '1', title: '话1'},
  {id: '2', title: '话2'},
  {id: '3', title: '话3'},
])

//---------------------函数------------------
// await 关键字只能在异步函数内部使用
async function getLoveTalk() {
  let result = await axios.get('http://api.uomg.com/api/rand.qinghua?format=json')
  // 使用 await 关键字可以使代码在异步操作完成后再继续执行，而不是立即执行下一行代码。这样可以确保在获得异步操作的结果后，再进行下一步的处理。
  // console.log(result.data.content);
  //把字符串包装为对象
  let obj = {
    id: nanoid(), // 生成一个随机字符串id
    title: result.data.content
  }
  talkList.unshift(obj)
}


</script>

<style scoped>

.talk {
  background-color: orange;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 0 0 10px;
}

</style>